Release notes
2025r3
Fix for frame rate transitions
Previously, sending a POST call to import as-run records via the as-run API for channels that had frame rate transitions (RN-5387), for example, from 25fps to 50fps, would result in a 500 error response (Different frame rates detected) and the call was blocked.
This issue has been fixed in this version. The as-run records are now imported with the broadcast day’s frame rate, similar to RN-5447, taking into account the frame rate transitions.
2025r2
Uniqueness check for as-run records for local and UTC timestamps in as-run API
The as-run API contains the POST /asrunrecords call, which allows the creation of as-run records in the Mediagenix Base platform.
When sending a call, the uniqueness of the as-run record is checked on the combination of the following attributes:
-
channelId -
calendarDate -
reconcileKey
If the combination already exists on an as-run record in Base, and
-
the record has already been reconciled, the import of that record is skipped.
-
the record was not yet reconciled, it is updated according to the body of the call.
If the combination does not exist yet, the record is created.
In version 2024r10, the UTCStartTimestamp and localStartTimestamp attributes were added to the call. This created three ways of defining the date and time of an as-run record, using either
-
calendarDate+startTime, -
localStartTimestamp, -
or
utcStartTimestamp.
Previously, however, when using the localStartTimestamp or utcStartTimestamp attributes, the uniqueness check of a record was not carried out properly. This meant that each call using these attributes with the same payload created new as-run records instead of updating them.
From this version, the uniqueness check has been enhanced to cover the following combinations:
-
channelId+reconciliationKey+calendarDate -
channelId+reconciliationKey+UTCStartTimestamp -
channelId+reconciliationKey+localStartTimestamp
Note that only one of these combinations should be present in the body of the call.
The YAML was not changed for this update.
2024r10
UTCStartTimestamp and localStartTimestamp in POST /asrunrecords of as-run API
In the as-run API, the POST /asrunrecords call can be used to create or update as-run records in the Mediagenix Base platform.
Previously, the calendarDate and startTime attributes in the body could only define the local date and time of the channel. This meant that if the playout system had the dates in UTC time, they had to be converted before sending them through the API. Additionally, two separate attributes were needed to define the date and time of a record.
From this version, the UTCStartTimestamp and localStartTimestamp attributes have been added to the body of the POST /asrunrecords call. They allow to define the date and time in one attribute and to use UTC time.
-
localStartTimestamp: When this is sent, the timestamp is interpreted in the local time of the channel, based on the timezone of the territory. The format of this field should be YYYY-MM-DDTHH:MM:SS.III, which takes the frame rate of the channel into account.-
For example: if 2024-11-01T11:28:00.000 is sent, this will be considered as 11:28:00 in the local time of the channel.
-
-
UTCStartTimestamp: When this is sent, the timestamp is converted from UTC into the local time of the channel, based on the timezone of the territory. This should have the ISO 8601 format, meaning YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS+HH:00 if the timezone is added.-
For example: if 2024-11-01T11:28:00Z is sent, and the channel timezone is UTC +02:00, this will be considered as 13:28:00 in the local time of the channel. If 2024-11-01T11:28:00+02:00 is sent, this will indicate that 2 hours need to be added to get to UTC.
-
An example of the call:
{
"channelId": "Channel1",
"asRunRecords": [
{
"reconcileKey": "488a9283-141b-41f4-9464-10d765e6ab84",
"title": "Masha and the bear 1/1",
"duration": "08:42:07.00",
"localStartTimestamp": "2024-11-01T11:28:00.000",
"scheduledContent": "BC22222222",
"timeAllocationType": "Promo",
"remarks": "added an extra event"
}
]
}
Note that only one of the time-related attributes can be provided, so either
-
calendarDateandstartTime, -
localStartTimestamp, -
or
UTCStartTimestamp.
If multiple are provided, the following error is returned:
{
"statusCode": "422",
"message": "Operation cannot be completed due to violations",
"timestamp": "2024-10-25T10:35:37Z",
"concept": "As-run records",
"id": "Local",
"errors": [
{
"errorCode": "CORE-00013",
"description": "$_One of the following attributes cannot be used together: calendarDate and startTime, UTCStartTimestamp, localStartTimestamp",
"data": [
"calendarDate and startTime, UTCStartTimestamp, localStartTimestamp"
]
}
]
}
If none are provided, the following error is returned:
{
"statusCode": "422",
"message": "Operation cannot be completed due to violations",
"timestamp": "2024-10-25T10:37:18Z",
"concept": "As-run records",
"id": "Local",
"errors": [
{
"errorCode": "CORE-00014",
"description": "$_One of the following attributes is mandatory: calendarDate and startTime, UTCStartTimestamp, localStartTimestamp",
"data": [
"calendarDate and startTime, UTCStartTimestamp, localStartTimestamp"
]
}
]
}
The YAML has been updated for these changes. The latest version can be retrieved by using the GET /api call.
API developers
The following has changed:
At line 46, a description was added about the new attributes.
At line 263, the new attributes were added to the properties of the AsRunRecord schema.
For easier viewing, the YAMLs can also be compared here: TextCompare
2022r4
Subtitle field in GET /reconciledDays call of as-run API
Commercials, trailers and music clips in WHATS'ON Base have a subtitle, where additional information on the title can be entered.
This field has been added to the GET /reconciledDays call of the as-run API. It appears in the events array of the transmissions and can only have a value for interstitials.
2021r2.001
API version: v1.2.0
Product code in GET reconciled days call
In a previous version, the GET /reconciledDays call was added to the as-run API. It returns the reconciled events and transmissions on a certain day.
In this version, the attribute productCode has been added to the call. It is returned for the product of all transmissions of the day. When there is no product linked or there is more than one product code, the field will be empty.
An example:
{
"channelId": "MgX",
"dayStatus": "openForWOn",
"startDate": "2020-06-01",
"transmissions": [
{
"transmissionId": "2623431812",
"startTime": "06:05:00",
"startTimeUTC": "04:05:00",
"announcedStartTime": "17:01",
"duration": "02:04:00",
"productId": "273404527",
"productCode": null,
"productType": "program"
...
}
]
}
2021r2.000
GET call for reconciled days in as-run BAPI
In this version, the commercial integration BAPI was added. It will be used to exchange break schedules, commercials and commercial playlists between WHATS'ON and an ATS system.
The ATS system is also interested in getting actual as-run information. If this information is requested from WHATS'ON, we can enrich this with a lot of context relevant to the ATS system.
Now, a GET /reconciledDays has been added to provide the as-run information to the external system.
With this call, the reconciled active schedule is retrieved as only reconciled events are returned.
2021r1.000
Maximum number of failed authentications for REST services
in this version, a new property has been added to the REST services called Maximum number of failed authentications. See General release notes for the full release note.
2020r1.000
API version: v1.0.0
Addition of As-run API
From this version on, it is possible to import as-run records using the As-run API.